#pragma once

#define MAX_LIFES   3
#define STAR_SCORE  10

//#include <utility>

#include "Globals.h"
#include "SceneManager.h"
#include "GameObject.h"

// Forward declaration
class Level2;

/*!
 * \class Level2Manager
 * \brief 
 */
class Level2Manager : public game_engine::SceneManager
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
public:
    cSlot <Level2Manager, INT32, FLOAT32> slotTimerUpdated;

private:
	FLOAT32 timerValue;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    Level2Manager(void);
    Level2Manager(Level2 *parent);
    virtual ~Level2Manager(void);

    // Others
    void initialize(void) throw(...);
    const BOOL update(void) throw(...);
    void finalize(void) throw(...);

	// Slots
	INT32 timerUpdated(FLOAT32 newValue);

private:
    const BOOL processObjectsCollision(pair<game_engine::GameObject*, 
        game_engine::GameObject*> duple);

};
